<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Midea.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Midea.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Midea_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2017 David Conran</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   Brand: Pioneer System,  Model: RYBO12GMFILCAD A/C (12K BTU) (MIDEA)</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//   Brand: Pioneer System,  Model: RUBO18GMFILCAD A/C (18K BTU) (MIDEA)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//   Brand: Comfee, Model: MPD1-12CRN7 A/C (MIDEA)</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//   Brand: Keystone, Model: RG57H4(B)BGEF remote (MIDEA)</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//   Brand: Midea,  Model: FS40-7AR Stand Fan (MIDEA24)</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//   Brand: Danby,  Model: DAC080BGUWDB (MIDEA)</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//   Brand: Danby,  Model: DAC100BGUWDB (MIDEA)</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//   Brand: Danby,  Model: DAC120BGUWDB (MIDEA)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//   Brand: Danby,  Model: R09C/BCGE remote (MIDEA)</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef IR_MIDEA_H_</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define IR_MIDEA_H_</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifdef ARDUINO</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if DANBY_DAC</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="IRtext_8h.html#a27ae4d475898878bd8e71111066629c6">   34</a></span>&#160;    <a class="code" href="ir__Midea_8h.html#acb6aaab538b7aeb884e9c0fdb46cea90">kSwingVToggleStr</a> = <a class="code" href="IRtext_8cpp.html#afc36ce4beed72e662a8d9d1473dad235">kIonStr</a>;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html">   36</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionMideaProtocol.html">MideaProtocol</a>{</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a8d696bb16d652ef6d582014049be2bbb">   37</a></span>&#160;  uint64_t <a class="code" href="unionMideaProtocol.html#a8d696bb16d652ef6d582014049be2bbb">remote_state</a>;  </div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="comment">// only use 48bits</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a3d4afe5411a769c48e8bfaa3a9e8e84c">   41</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#a3d4afe5411a769c48e8bfaa3a9e8e84c">Sum</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#ab48c834ee5a37297d04e71e6e32468d2">   43</a></span>&#160;    uint8_t :8;  <span class="comment">// value=0xFF</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// Byte 2</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a3351e3af6d3f214536e593c450fa0915">   45</a></span>&#160;    uint8_t :8;  <span class="comment">// value=0xFF</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a4206c02c5cafe996c05d92beb7a7e8d6">   47</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#a4206c02c5cafe996c05d92beb7a7e8d6">Temp</a>:5;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a1b1258107620bb83fd6356815242e19b">   48</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#a1b1258107620bb83fd6356815242e19b">useFahrenheit</a>:1;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#ab638086cc0b8d25fba57278c7ba881cb">   49</a></span>&#160;    uint8_t :0;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#aa0255e9e1351d594b2e2c8c6f9698e1a">   51</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#aa0255e9e1351d594b2e2c8c6f9698e1a">Mode</a>:3;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a04b0f344ec9b7cf2bdbd2c530b409fcb">   52</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#a04b0f344ec9b7cf2bdbd2c530b409fcb">Fan</a>:2;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#ac0d1346479086522065ec71ea0b87ad2">   53</a></span>&#160;    uint8_t :1;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#aeea5e2520e4cd1773c1eddc8a84af2d3">   54</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#aeea5e2520e4cd1773c1eddc8a84af2d3">Sleep</a>:1;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32">   55</a></span>&#160;    uint8_t <a class="code" href="unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32">Power</a>:1;</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="unionMideaProtocol.html#addde95b2535612df3ef2183998cf7ca6">   57</a></span>&#160;    uint8_t :0;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  };</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;};</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a0b0bdf519164f793a129d0e32152069a">   61</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a0b0bdf519164f793a129d0e32152069a">kMideaACMinTempF</a> = 62;  <span class="comment">// Fahrenheit</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#ac7306c86080e934055d5be9728c91629">   62</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#ac7306c86080e934055d5be9728c91629">kMideaACMaxTempF</a> = 86;  <span class="comment">// Fahrenheit</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#ae849eb79db6c077d617283154edade84">   63</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#ae849eb79db6c077d617283154edade84">kMideaACMinTempC</a> = 17;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a0cccc3093cffabe1e512f298c04b3ba1">   64</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a0cccc3093cffabe1e512f298c04b3ba1">kMideaACMaxTempC</a> = 30;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a94b1b18f6aa9c5010699ea9bfcc89b21">   65</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a94b1b18f6aa9c5010699ea9bfcc89b21">kMideaACCool</a> = 0;     <span class="comment">// 0b000</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a88c2d215406e337b437b99a04c4ca6c4">   66</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a88c2d215406e337b437b99a04c4ca6c4">kMideaACDry</a> = 1;      <span class="comment">// 0b001</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a379f580c4d1832a62fe49d66f7c13af6">   67</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a379f580c4d1832a62fe49d66f7c13af6">kMideaACAuto</a> = 2;     <span class="comment">// 0b010</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#aa0fb74d8406327a9510f0efa8a16a488">   68</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#aa0fb74d8406327a9510f0efa8a16a488">kMideaACHeat</a> = 3;     <span class="comment">// 0b011</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#ac92dd372bb18d43aea73d5ec511e1290">   69</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#ac92dd372bb18d43aea73d5ec511e1290">kMideaACFan</a> = 4;      <span class="comment">// 0b100</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a334a64f653b141d67ffda2eca2a9851f">   70</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a334a64f653b141d67ffda2eca2a9851f">kMideaACFanAuto</a> = 0;  <span class="comment">// 0b00</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a90ebe3812e8b554798a2083ddfe9fdff">   71</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a90ebe3812e8b554798a2083ddfe9fdff">kMideaACFanLow</a> = 1;   <span class="comment">// 0b01</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a9406c8d9ad79e6a121a29cd5455e8e7d">   72</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a9406c8d9ad79e6a121a29cd5455e8e7d">kMideaACFanMed</a> = 2;   <span class="comment">// 0b10</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a9c177aff562a19f32d6cf010704ac681">   73</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Midea_8h.html#a9c177aff562a19f32d6cf010704ac681">kMideaACFanHigh</a> = 3;  <span class="comment">// 0b11</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#a5420b72289d3ae99a6dbc5c94914c473">   74</a></span>&#160;<span class="keyword">const</span> uint64_t <a class="code" href="ir__Midea_8h.html#a5420b72289d3ae99a6dbc5c94914c473">kMideaACToggleSwingV</a> = 0x0000A201FFFFFF7C;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">// For Danby DAC unit, the Ionizer toggle is the same as ToggleSwingV</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">// const uint64_t kMideaACToggleIonizer = 0x0000A201FFFFFF7C;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="ir__Midea_8h.html#afae5d72469e092300eb740d696b27c2b">   77</a></span>&#160;<span class="keyword">const</span> uint64_t <a class="code" href="ir__Midea_8h.html#afae5d72469e092300eb740d696b27c2b">kMideaACToggleEcono</a> = 0x0000A202FFFFFF7E;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// Legacy defines. (Deprecated)</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#define MIDEA_AC_COOL kMideaACCool</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define MIDEA_AC_DRY kMideaACDry</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define MIDEA_AC_AUTO kMideaACAuto</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#define MIDEA_AC_HEAT kMideaACHeat</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#define MIDEA_AC_FAN kMideaACFan</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define MIDEA_AC_FAN_AUTO kMideaACFanAuto</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define MIDEA_AC_FAN_LOW kMideaACFanLow</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define MIDEA_AC_FAN_MED kMideaACFanMed</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define MIDEA_AC_FAN_HI kMideaACFanHigh</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define MIDEA_AC_POWER kMideaACPower</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#define MIDEA_AC_SLEEP kMideaACSleep</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define MIDEA_AC_MIN_TEMP_F kMideaACMinTempF</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define MIDEA_AC_MAX_TEMP_F kMideaACMaxTempF</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#define MIDEA_AC_MIN_TEMP_C kMideaACMinTempC</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#define MIDEA_AC_MAX_TEMP_C kMideaACMaxTempC</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classIRMideaAC.html">   99</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classIRMideaAC.html">IRMideaAC</a> {</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRMideaAC.html#a1ef2f532a1e6c6bfe89617d3fd0d9082">IRMideaAC</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#acc584e07406e1811acfb26f6cd5383cd">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#if SEND_MIDEA</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#af66b9f76ad794450a0a7eace4bb59300">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#aa8876e8e177b8e71154f8cfb42b19160">kMideaMinRepeat</a>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classIRMideaAC.html#a4077604c2af56783f95a0a64eda7148b">  110</a></span>&#160;  int8_t <a class="code" href="classIRMideaAC.html#a4077604c2af56783f95a0a64eda7148b">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRMideaAC.html#ae2b6068355ecdc360c4c2ca2fd8d921b">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#endif  // SEND_MIDEA</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#ac36b6aa76b6b98ab186cd1d5ad9246b4">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a29fbafcf47dc41475d009c4c92b2917b">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#ab8341f8d3d553d8b0ed9270cc15fc8ec">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">on</a>);</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#ad4dd8a532419cd2d8f5656df3e5a23e2">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a7904de4572d80c0eafe4975682b3ea29">getUseCelsius</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a1eeb72ddd2b9867c2f9c392080b9c1ed">setUseCelsius</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> celsius);</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a42f79e73f418d5267eed7ba5b0e266f5">setTemp</a>(<span class="keyword">const</span> uint8_t temp, <span class="keyword">const</span> <span class="keywordtype">bool</span> useCelsius = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  uint8_t <a class="code" href="classIRMideaAC.html#a319f5ca24e977a6b7f0df93324dab63e">getTemp</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> useCelsius = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a546eeca4eea015899a5ad9f5d1c6fafb">setFan</a>(<span class="keyword">const</span> uint8_t fan);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  uint8_t <a class="code" href="classIRMideaAC.html#a38a0c175fead133026a0079c36e3e8ce">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a3b92f25a82741ae404e8f9af8dbca3a8">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  uint8_t <a class="code" href="classIRMideaAC.html#aa024806cd5fce842e031f130d1f70ec6">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#ab24da22531f5b2823551501642ec1b94">setRaw</a>(<span class="keyword">const</span> uint64_t newState);</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  uint64_t <a class="code" href="classIRMideaAC.html#ae0b2c3a5a0a1d84eaeb462bbbe944d97">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a971ab4af0267bb732834e7e1f7b8e354">validChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a1e008ff673450060bf39a65f1cb926e6">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">on</a>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a2cef1181e13416425edb1bac972c4adf">getSleep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a5277fa1d077650be0edcf284db50d38b">isSwingVToggle</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a7fce182bff4f5bc2c6679b20f344837b">setSwingVToggle</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">on</a>);</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a50b260d69bc0df8851bfccb003971dfe">getSwingVToggle</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a227aeed678af6da49b510cb67b02991e">isEconoToggle</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#aef83db5c3d13273541039d9e03e3230e">setEconoToggle</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">on</a>);</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a69839c88534920e667e56750c83f926f">getEconoToggle</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRMideaAC.html#a0ca16c8bc2232be467baba8ea69b40d4">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRMideaAC.html#a08a8e49986ce808fd7edd8aee7399a64">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRMideaAC.html#ac2e0ff374678aadd7fea80194aef8bca">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRMideaAC.html#acd89d4864a46b146ac4f648c4406ded5">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRMideaAC.html#a62086b58f71908b75e28a61bd4f6bf15">toCommon</a>(<span class="keyword">const</span> <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> *prev = NULL);</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRMideaAC.html#a4980fbb52145e1d12a6fa5601f75018a">toString</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classIRMideaAC.html#ae2b6068355ecdc360c4c2ca2fd8d921b">  145</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRMideaAC.html#ae2b6068355ecdc360c4c2ca2fd8d921b">_irsend</a>;  </div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#else  // UNIT_TEST</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  IRsendTest <a class="code" href="classIRMideaAC.html#ae2b6068355ecdc360c4c2ca2fd8d921b">_irsend</a>;  </div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#endif  // UNIT_TEST</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classIRMideaAC.html#a43e44a594e00ed14c9b6aca4a862ea9e">  151</a></span>&#160;  <a class="code" href="unionMideaProtocol.html">MideaProtocol</a> <a class="code" href="classIRMideaAC.html#a43e44a594e00ed14c9b6aca4a862ea9e">_</a>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classIRMideaAC.html#adb4318940487aea09116fe6b9f061470">  152</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#adb4318940487aea09116fe6b9f061470">_SwingVToggle</a>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classIRMideaAC.html#a30f184751948b4412da46577578b625a">  153</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRMideaAC.html#a30f184751948b4412da46577578b625a">_EconoToggle</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRMideaAC.html#a418b7cbb4b388dba732176d891bb499d">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRMideaAC.html#ac8733348b311ecf8eed87021cdf4ee31">calcChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;};</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#endif  // IR_MIDEA_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aunionMideaProtocol_html_a3d4afe5411a769c48e8bfaa3a9e8e84c"><div class="ttname"><a href="unionMideaProtocol.html#a3d4afe5411a769c48e8bfaa3a9e8e84c">MideaProtocol::Sum</a></div><div class="ttdeci">uint8_t Sum</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:41</div></div>
<div class="ttc" id="air__Midea_8h_html_a0b0bdf519164f793a129d0e32152069a"><div class="ttname"><a href="ir__Midea_8h.html#a0b0bdf519164f793a129d0e32152069a">kMideaACMinTempF</a></div><div class="ttdeci">const uint8_t kMideaACMinTempF</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:61</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ac36b6aa76b6b98ab186cd1d5ad9246b4"><div class="ttname"><a href="classIRMideaAC.html#ac36b6aa76b6b98ab186cd1d5ad9246b4">IRMideaAC::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:106</div></div>
<div class="ttc" id="aclassIRMideaAC_html_acd89d4864a46b146ac4f648c4406ded5"><div class="ttname"><a href="classIRMideaAC.html#acd89d4864a46b146ac4f648c4406ded5">IRMideaAC::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:358</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a1e008ff673450060bf39a65f1cb926e6"><div class="ttname"><a href="classIRMideaAC.html#a1e008ff673450060bf39a65f1cb926e6">IRMideaAC::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:240</div></div>
<div class="ttc" id="aclassIRMideaAC_html_af8dde03cb641a5af4f2ef0dcf70f1ca0"><div class="ttname"><a href="classIRMideaAC.html#af8dde03cb641a5af4f2ef0dcf70f1ca0">IRMideaAC::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Set the requested power state of the A/C to on.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:136</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a1eeb72ddd2b9867c2f9c392080b9c1ed"><div class="ttname"><a href="classIRMideaAC.html#a1eeb72ddd2b9867c2f9c392080b9c1ed">IRMideaAC::setUseCelsius</a></div><div class="ttdeci">void setUseCelsius(const bool celsius)</div><div class="ttdoc">Set the A/C unit to use Celsius natively.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:161</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_aa8876e8e177b8e71154f8cfb42b19160"><div class="ttname"><a href="IRremoteESP8266_8h.html#aa8876e8e177b8e71154f8cfb42b19160">kMideaMinRepeat</a></div><div class="ttdeci">const uint16_t kMideaMinRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:968</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a30f184751948b4412da46577578b625a"><div class="ttname"><a href="classIRMideaAC.html#a30f184751948b4412da46577578b625a">IRMideaAC::_EconoToggle</a></div><div class="ttdeci">bool _EconoToggle</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:153</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a43e44a594e00ed14c9b6aca4a862ea9e"><div class="ttname"><a href="classIRMideaAC.html#a43e44a594e00ed14c9b6aca4a862ea9e">IRMideaAC::_</a></div><div class="ttdeci">MideaProtocol _</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:151</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a42f79e73f418d5267eed7ba5b0e266f5"><div class="ttname"><a href="classIRMideaAC.html#a42f79e73f418d5267eed7ba5b0e266f5">IRMideaAC::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp, const bool useCelsius=false)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:172</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ad4dd8a532419cd2d8f5656df3e5a23e2"><div class="ttname"><a href="classIRMideaAC.html#ad4dd8a532419cd2d8f5656df3e5a23e2">IRMideaAC::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:149</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a4077604c2af56783f95a0a64eda7148b"><div class="ttname"><a href="classIRMideaAC.html#a4077604c2af56783f95a0a64eda7148b">IRMideaAC::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:110</div></div>
<div class="ttc" id="aclassIRMideaAC_html_aef83db5c3d13273541039d9e03e3230e"><div class="ttname"><a href="classIRMideaAC.html#aef83db5c3d13273541039d9e03e3230e">IRMideaAC::setEconoToggle</a></div><div class="ttdeci">void setEconoToggle(const bool on)</div><div class="ttdoc">Set the A/C to toggle the Econo (energy saver) mode for the next send.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:272</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:58</div></div>
<div class="ttc" id="aclassIRMideaAC_html_adb4318940487aea09116fe6b9f061470"><div class="ttname"><a href="classIRMideaAC.html#adb4318940487aea09116fe6b9f061470">IRMideaAC::_SwingVToggle</a></div><div class="ttdeci">bool _SwingVToggle</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:152</div></div>
<div class="ttc" id="air__Midea_8h_html_a379f580c4d1832a62fe49d66f7c13af6"><div class="ttname"><a href="ir__Midea_8h.html#a379f580c4d1832a62fe49d66f7c13af6">kMideaACAuto</a></div><div class="ttdeci">const uint8_t kMideaACAuto</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:67</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a418b7cbb4b388dba732176d891bb499d"><div class="ttname"><a href="classIRMideaAC.html#a418b7cbb4b388dba732176d891bb499d">IRMideaAC::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate &amp; set the checksum for the current internal state of the remote.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:310</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a1ef2f532a1e6c6bfe89617d3fd0d9082"><div class="ttname"><a href="classIRMideaAC.html#a1ef2f532a1e6c6bfe89617d3fd0d9082">IRMideaAC::IRMideaAC</a></div><div class="ttdeci">IRMideaAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:93</div></div>
<div class="ttc" id="air__Midea_8h_html_ac92dd372bb18d43aea73d5ec511e1290"><div class="ttname"><a href="ir__Midea_8h.html#ac92dd372bb18d43aea73d5ec511e1290">kMideaACFan</a></div><div class="ttdeci">const uint8_t kMideaACFan</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:69</div></div>
<div class="ttc" id="aclassIRMideaAC_html_af66b9f76ad794450a0a7eace4bb59300"><div class="ttname"><a href="classIRMideaAC.html#af66b9f76ad794450a0a7eace4bb59300">IRMideaAC::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kMideaMinRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:111</div></div>
<div class="ttc" id="aunionMideaProtocol_html_a1b1258107620bb83fd6356815242e19b"><div class="ttname"><a href="unionMideaProtocol.html#a1b1258107620bb83fd6356815242e19b">MideaProtocol::useFahrenheit</a></div><div class="ttdeci">uint8_t useFahrenheit</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:48</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="air__Midea_8h_html_ac7306c86080e934055d5be9728c91629"><div class="ttname"><a href="ir__Midea_8h.html#ac7306c86080e934055d5be9728c91629">kMideaACMaxTempF</a></div><div class="ttdeci">const uint8_t kMideaACMaxTempF</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:62</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:176</div></div>
<div class="ttc" id="aunionMideaProtocol_html_a6b534bb5845c3c184ee43b87995cff32"><div class="ttname"><a href="unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32">MideaProtocol::Power</a></div><div class="ttdeci">uint8_t Power</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:55</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a7fce182bff4f5bc2c6679b20f344837b"><div class="ttname"><a href="classIRMideaAC.html#a7fce182bff4f5bc2c6679b20f344837b">IRMideaAC::setSwingVToggle</a></div><div class="ttdeci">void setSwingVToggle(const bool on)</div><div class="ttdoc">Set the A/C to toggle the vertical swing toggle for the next send.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:253</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a5277fa1d077650be0edcf284db50d38b"><div class="ttname"><a href="classIRMideaAC.html#a5277fa1d077650be0edcf284db50d38b">IRMideaAC::isSwingVToggle</a></div><div class="ttdeci">bool isSwingVToggle(void) const</div><div class="ttdoc">Is the current state a vertical swing toggle message?</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:258</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1148</div></div>
<div class="ttc" id="air__Midea_8h_html_acb6aaab538b7aeb884e9c0fdb46cea90"><div class="ttname"><a href="ir__Midea_8h.html#acb6aaab538b7aeb884e9c0fdb46cea90">kSwingVToggleStr</a></div><div class="ttdeci">kSwingVToggleStr</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:34</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a50b260d69bc0df8851bfccb003971dfe"><div class="ttname"><a href="classIRMideaAC.html#a50b260d69bc0df8851bfccb003971dfe">IRMideaAC::getSwingVToggle</a></div><div class="ttdeci">bool getSwingVToggle(void)</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:265</div></div>
<div class="ttc" id="aunionMideaProtocol_html_a04b0f344ec9b7cf2bdbd2c530b409fcb"><div class="ttname"><a href="unionMideaProtocol.html#a04b0f344ec9b7cf2bdbd2c530b409fcb">MideaProtocol::Fan</a></div><div class="ttdeci">uint8_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:52</div></div>
<div class="ttc" id="aunionMideaProtocol_html_aa0255e9e1351d594b2e2c8c6f9698e1a"><div class="ttname"><a href="unionMideaProtocol.html#aa0255e9e1351d594b2e2c8c6f9698e1a">MideaProtocol::Mode</a></div><div class="ttdeci">uint8_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:51</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a38a0c175fead133026a0079c36e3e8ce"><div class="ttname"><a href="classIRMideaAC.html#a38a0c175fead133026a0079c36e3e8ce">IRMideaAC::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:212</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a29fbafcf47dc41475d009c4c92b2917b"><div class="ttname"><a href="classIRMideaAC.html#a29fbafcf47dc41475d009c4c92b2917b">IRMideaAC::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Set the requested power state of the A/C to off.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:139</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="air__Midea_8h_html_aa0fb74d8406327a9510f0efa8a16a488"><div class="ttname"><a href="ir__Midea_8h.html#aa0fb74d8406327a9510f0efa8a16a488">kMideaACHeat</a></div><div class="ttdeci">const uint8_t kMideaACHeat</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:68</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a7904de4572d80c0eafe4975682b3ea29"><div class="ttname"><a href="classIRMideaAC.html#a7904de4572d80c0eafe4975682b3ea29">IRMideaAC::getUseCelsius</a></div><div class="ttdeci">bool getUseCelsius(void) const</div><div class="ttdoc">Is the device currently using Celsius or the Fahrenheit temp scale?</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:155</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ac2e0ff374678aadd7fea80194aef8bca"><div class="ttname"><a href="classIRMideaAC.html#ac2e0ff374678aadd7fea80194aef8bca">IRMideaAC::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:345</div></div>
<div class="ttc" id="air__Midea_8h_html_a334a64f653b141d67ffda2eca2a9851f"><div class="ttname"><a href="ir__Midea_8h.html#a334a64f653b141d67ffda2eca2a9851f">kMideaACFanAuto</a></div><div class="ttdeci">const uint8_t kMideaACFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:70</div></div>
<div class="ttc" id="air__Midea_8h_html_a5420b72289d3ae99a6dbc5c94914c473"><div class="ttname"><a href="ir__Midea_8h.html#a5420b72289d3ae99a6dbc5c94914c473">kMideaACToggleSwingV</a></div><div class="ttdeci">const uint64_t kMideaACToggleSwingV</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:74</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ae2b6068355ecdc360c4c2ca2fd8d921b"><div class="ttname"><a href="classIRMideaAC.html#ae2b6068355ecdc360c4c2ca2fd8d921b">IRMideaAC::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:145</div></div>
<div class="ttc" id="aunionMideaProtocol_html_a8d696bb16d652ef6d582014049be2bbb"><div class="ttname"><a href="unionMideaProtocol.html#a8d696bb16d652ef6d582014049be2bbb">MideaProtocol::remote_state</a></div><div class="ttdeci">uint64_t remote_state</div><div class="ttdoc">The state in native IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:37</div></div>
<div class="ttc" id="aclassIRMideaAC_html"><div class="ttname"><a href="classIRMideaAC.html">IRMideaAC</a></div><div class="ttdoc">Class for handling detailed Midea A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:99</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ab24da22531f5b2823551501642ec1b94"><div class="ttname"><a href="classIRMideaAC.html#ab24da22531f5b2823551501642ec1b94">IRMideaAC::setRaw</a></div><div class="ttdeci">void setRaw(const uint64_t newState)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:133</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a3b92f25a82741ae404e8f9af8dbca3a8"><div class="ttname"><a href="classIRMideaAC.html#a3b92f25a82741ae404e8f9af8dbca3a8">IRMideaAC::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:224</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ac8733348b311ecf8eed87021cdf4ee31"><div class="ttname"><a href="classIRMideaAC.html#ac8733348b311ecf8eed87021cdf4ee31">IRMideaAC::calcChecksum</a></div><div class="ttdeci">static uint8_t calcChecksum(const uint64_t state)</div><div class="ttdoc">Calculate the checksum for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:290</div></div>
<div class="ttc" id="aIRtext_8cpp_html_afc36ce4beed72e662a8d9d1473dad235"><div class="ttname"><a href="IRtext_8cpp.html#afc36ce4beed72e662a8d9d1473dad235">kIonStr</a></div><div class="ttdeci">const PROGMEM char * kIonStr</div><div class="ttdoc">&quot;Ion&quot;</div><div class="ttdef"><b>Definition:</b> IRtext.cpp:55</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a2cef1181e13416425edb1bac972c4adf"><div class="ttname"><a href="classIRMideaAC.html#a2cef1181e13416425edb1bac972c4adf">IRMideaAC::getSleep</a></div><div class="ttdeci">bool getSleep(void) const</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:246</div></div>
<div class="ttc" id="aclassIRMideaAC_html_aa024806cd5fce842e031f130d1f70ec6"><div class="ttname"><a href="classIRMideaAC.html#aa024806cd5fce842e031f130d1f70ec6">IRMideaAC::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:218</div></div>
<div class="ttc" id="air__Midea_8h_html_afae5d72469e092300eb740d696b27c2b"><div class="ttname"><a href="ir__Midea_8h.html#afae5d72469e092300eb740d696b27c2b">kMideaACToggleEcono</a></div><div class="ttdeci">const uint64_t kMideaACToggleEcono</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:77</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a08a8e49986ce808fd7edd8aee7399a64"><div class="ttname"><a href="classIRMideaAC.html#a08a8e49986ce808fd7edd8aee7399a64">IRMideaAC::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:331</div></div>
<div class="ttc" id="aunionMideaProtocol_html_aeea5e2520e4cd1773c1eddc8a84af2d3"><div class="ttname"><a href="unionMideaProtocol.html#aeea5e2520e4cd1773c1eddc8a84af2d3">MideaProtocol::Sleep</a></div><div class="ttdeci">uint8_t Sleep</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:54</div></div>
<div class="ttc" id="air__Midea_8h_html_a9406c8d9ad79e6a121a29cd5455e8e7d"><div class="ttname"><a href="ir__Midea_8h.html#a9406c8d9ad79e6a121a29cd5455e8e7d">kMideaACFanMed</a></div><div class="ttdeci">const uint8_t kMideaACFanMed</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:72</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ae0b2c3a5a0a1d84eaeb462bbbe944d97"><div class="ttname"><a href="classIRMideaAC.html#ae0b2c3a5a0a1d84eaeb462bbbe944d97">IRMideaAC::getRaw</a></div><div class="ttdeci">uint64_t getRaw(void)</div><div class="ttdoc">Get a copy of the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:126</div></div>
<div class="ttc" id="air__Midea_8h_html_ae849eb79db6c077d617283154edade84"><div class="ttname"><a href="ir__Midea_8h.html#ae849eb79db6c077d617283154edade84">kMideaACMinTempC</a></div><div class="ttdeci">const uint8_t kMideaACMinTempC</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:63</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a0ca16c8bc2232be467baba8ea69b40d4"><div class="ttname"><a href="classIRMideaAC.html#a0ca16c8bc2232be467baba8ea69b40d4">IRMideaAC::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:318</div></div>
<div class="ttc" id="air__Midea_8h_html_a9c177aff562a19f32d6cf010704ac681"><div class="ttname"><a href="ir__Midea_8h.html#a9c177aff562a19f32d6cf010704ac681">kMideaACFanHigh</a></div><div class="ttdeci">const uint8_t kMideaACFanHigh</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:73</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a69839c88534920e667e56750c83f926f"><div class="ttname"><a href="classIRMideaAC.html#a69839c88534920e667e56750c83f926f">IRMideaAC::getEconoToggle</a></div><div class="ttdeci">bool getEconoToggle(void)</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:282</div></div>
<div class="ttc" id="air__Midea_8h_html_a0cccc3093cffabe1e512f298c04b3ba1"><div class="ttname"><a href="ir__Midea_8h.html#a0cccc3093cffabe1e512f298c04b3ba1">kMideaACMaxTempC</a></div><div class="ttdeci">const uint8_t kMideaACMaxTempC</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:64</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a62086b58f71908b75e28a61bd4f6bf15"><div class="ttname"><a href="classIRMideaAC.html#a62086b58f71908b75e28a61bd4f6bf15">IRMideaAC::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(const stdAc::state_t *prev=NULL)</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:370</div></div>
<div class="ttc" id="air__Midea_8h_html_a88c2d215406e337b437b99a04c4ca6c4"><div class="ttname"><a href="ir__Midea_8h.html#a88c2d215406e337b437b99a04c4ca6c4">kMideaACDry</a></div><div class="ttdeci">const uint8_t kMideaACDry</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:66</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a4980fbb52145e1d12a6fa5601f75018a"><div class="ttname"><a href="classIRMideaAC.html#a4980fbb52145e1d12a6fa5601f75018a">IRMideaAC::toString</a></div><div class="ttdeci">String toString(void)</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:407</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a971ab4af0267bb732834e7e1f7b8e354"><div class="ttname"><a href="classIRMideaAC.html#a971ab4af0267bb732834e7e1f7b8e354">IRMideaAC::validChecksum</a></div><div class="ttdeci">static bool validChecksum(const uint64_t state)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:305</div></div>
<div class="ttc" id="air__Midea_8h_html_a94b1b18f6aa9c5010699ea9bfcc89b21"><div class="ttname"><a href="ir__Midea_8h.html#a94b1b18f6aa9c5010699ea9bfcc89b21">kMideaACCool</a></div><div class="ttdeci">const uint8_t kMideaACCool</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:65</div></div>
<div class="ttc" id="aunionMideaProtocol_html"><div class="ttname"><a href="unionMideaProtocol.html">MideaProtocol</a></div><div class="ttdef"><b>Definition:</b> ir_Midea.h:36</div></div>
<div class="ttc" id="aclassIRMideaAC_html_ab8341f8d3d553d8b0ed9270cc15fc8ec"><div class="ttname"><a href="classIRMideaAC.html#ab8341f8d3d553d8b0ed9270cc15fc8ec">IRMideaAC::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:143</div></div>
<div class="ttc" id="aclassIRMideaAC_html_acc584e07406e1811acfb26f6cd5383cd"><div class="ttname"><a href="classIRMideaAC.html#acc584e07406e1811acfb26f6cd5383cd">IRMideaAC::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the state of the remote to a known good state/sequence.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:98</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:97</div></div>
<div class="ttc" id="air__Midea_8h_html_a90ebe3812e8b554798a2083ddfe9fdff"><div class="ttname"><a href="ir__Midea_8h.html#a90ebe3812e8b554798a2083ddfe9fdff">kMideaACFanLow</a></div><div class="ttdeci">const uint8_t kMideaACFanLow</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:71</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a319f5ca24e977a6b7f0df93324dab63e"><div class="ttname"><a href="classIRMideaAC.html#a319f5ca24e977a6b7f0df93324dab63e">IRMideaAC::getTemp</a></div><div class="ttdeci">uint8_t getTemp(const bool useCelsius=false) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:193</div></div>
<div class="ttc" id="aunionMideaProtocol_html_a4206c02c5cafe996c05d92beb7a7e8d6"><div class="ttname"><a href="unionMideaProtocol.html#a4206c02c5cafe996c05d92beb7a7e8d6">MideaProtocol::Temp</a></div><div class="ttdeci">uint8_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Midea.h:47</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a546eeca4eea015899a5ad9f5d1c6fafb"><div class="ttname"><a href="classIRMideaAC.html#a546eeca4eea015899a5ad9f5d1c6fafb">IRMideaAC::setFan</a></div><div class="ttdeci">void setFan(const uint8_t fan)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:206</div></div>
<div class="ttc" id="aclassIRMideaAC_html_a227aeed678af6da49b510cb67b02991e"><div class="ttname"><a href="classIRMideaAC.html#a227aeed678af6da49b510cb67b02991e">IRMideaAC::isEconoToggle</a></div><div class="ttdeci">bool isEconoToggle(void) const</div><div class="ttdoc">Is the current state an Econo (energy saver) toggle message?</div><div class="ttdef"><b>Definition:</b> ir_Midea.cpp:276</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:46</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
